1. Field of the Invention
The present invention relates to a technique using a plurality of recording devices in parallel. For example, the invention can be applied to a technique for reducing the power consumption of a disk array system that employs a plurality of hard disk drives.
2. Description of Related Art
A RAID (redundant arrays of inexpensive disks) is known as a recording system using a plurality of hard disk drives, and is summarized as a system in which data is divided and resulting segmented data are written to and read from the plurality of hard disk drives in parallel. Currently, there are six kinds of RAIDs, that is, RAID0 to RAID5, among which RAID0, RAID1, and RAID5 are mainly used.
In RAID0, a plurality of hard disk drives are used in parallel and data is recorded in the hard disk drives in a distributed manner. That is, in RAID0, data is divided according to prescribed rules and recorded in the hard disk drives in a distributed manner. In RAID0, the plurality of hard disk drives are unified and operate as if they were a single recording device. Whereas RAID0 has an advantage that data writing and reading can be performed at high speed, it has a disadvantage that recorded data are lost if one hard disk drive fails.
In RAID1, the same data is stored in a plurality of (usually, two) hard disk drives. Whereas RAID1 has an advantage that data are not lost even if one hard disk drive fails, it is equivalent, operation speed, to systems using a single hard disk drive. Further, RAID1 has a disadvantage that the efficiency of utilization of the disk capacities is low and the cost per unit capacity is high, because the total capacity is lower than the sum of the capacities of the hard disk drives used.
RAID5 is composed of three or more hard disk drives. An example of RAID5 that is composed of five hard disk drives, that is, hard disk drive-1 to hard disk drive-5, will be described below. In this case, each block of specific data is segmented into four segmented data. Segmented data of the first block are recorded in hard disk drive-1 to hard disk drive-4 in order. Parity data of the data recorded in hard disk drive-1 to hard disk drive-4 is recorded in hard disk drive-5. Segmented data of the second block are recorded in four hard disk drives that are hard disk drive-5, hard disk drive-1, hard disk drive-2, and hard disk drive-3, and their parity data is recorded in hard disk drive-4. Segmented data of the third block are recorded in four hard disk drives that are hard disk drive-4, hard disk drive-5, hard disk drive-1, and hard disk drive-2, and their parity data is recorded in hard disk drive-3. In this manner, sets of four segmented data and their parity data are recorded in the hard disk drives in a distributed manner.
In this example, as a whole, the capacities of four hard disk drives are used for handling data and the capacity of the remaining one hard disk drive is used for handling parity data. The parity data is auxiliary data to be used for recovering corresponding main data when the main data is lost.
By employing the above method, a RAID5 system using N hard disk drives can record data of an amount corresponding to the total capacity of N−1 hard disk drives in such a manner that the data are distributed to the N hard disk drives. RAID5 enables high-speed data writing and reading because N−1 hard disk drives operate in parallel. Further, in RAID5, even if any hard disk drive fails, the data that were stored in the hard disk drive in failure can be restored by using the data and the parity data that are recorded in the remaining hard disk drives. That is, both the high-speed operation and prevention of data loss due to failure of a hard disk drive can be attained. Data are not restored if two hard disk drives fail simultaneously. However, the probability of an event that two hard disk drives fail simultaneously is very low and hence this is not considered a problem.
In RAID5, since main data and parity data are recorded in the hard disk drives in a distributed manner, loads are not concentrated on a particular hard disk drive and performance reduction that would otherwise be caused can be prevented.
As described above, a RAID5 system using N hard disk drives is equivalent to N−1 hard disk drives that operate in parallel because the capacity of one hard disk drive is used for recording parity data. Therefore, in the RAID5 system using the N hard disk drives, the usable capacity is equal to the total capacity of N−1 hard disk drives and the operation speed is increased to the speed of N−1 hard disk drives that operate in parallel. That is, in RAID5, it is necessary to prepare one extra hard disk drive for the amount of data to be handled. Where the number of hard disk drives constituting a RAID5 system is large, the fact that one extra hard disk drive is needed is not a serious problem. However, where the number of hard disk drives constituting a RAID5 system is small, the above fact is problematic from the viewpoint of effective use of the hard disk drives. For example, in the case of a RAID5 system using the N hard disk drives, 75% of the total capacity bears handling of main data and the remaining 25% serves for recording of parity data; the efficiency of utilization of the hard disk drives used is low. The same is true of RAID3 and RAID4.
The RAID is also associated with a heating problem, which will be described below in detail. Usually, a RAID system is used in a server that requires a large storage capacity. Servers are required to perform data writing and reading as quickly as possible. Therefore, a plurality of hard disk drives constituting a RAID system are in an idling state during operation hours (in some cases, 24 hours). In an idling state, the disks are rotating at constant speeds and hence data writing or reading can be performed immediately.
If idling is not conducted, tens of seconds are necessary to start the hard disk drives and hence data writing or reading can not be performed immediately when necessary. Therefore, server functions cannot be exercised properly.
Idling of a hard disk drive consumes power. In the case of a large-scale server that is equipped with tens of hard disk drives, a considerable power is consumed during idling. For example, in the case of a server in which 20 server units each having four hard disk drives each of which consumes 20 W during idling are mounted on a rack consumes 1,600 W merely for idling. Consumed power is converted into heat, which is dissipated to increase the temperature of the server installation environment.
With the spread of LANs (local area networks) and the Internet, servers have come to be required to have a large storage capacity. Further, with the spread of the Internet, a high percentage of servers are required to operate 24 hours.
In the above circumstances, the above-described idling power that is consumed during all the operation hours and resulting heat generation are problematic. From the viewpoint of energy saving, it is preferable to minimize this power consumption. It is desirable to minimize the generated heat because it causes various problems: it is a load on air-conditioning equipment, may cause a failure or fault in the server itself, and may adversely affect other equipment.
Japanese Patent No. 2546088 discloses a technique for reducing the power consumption of a RAID system. In this technique, N hard disk drives are provided and data is recorded therein in a divisional manner. Parity data is generated for segmented data and divided according to a prescribed procedure. Resulting divisional parity data are recorded in the hard disk drives in such a manner as to be added to the respective segmented data. However, this patent does not suggest that segmented data as well as parity data are subjects of redundant recording or that an auxiliary recording device is used selectively.